﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Dominio;
using Negocio;

namespace Presentacion
{
    public partial class FrmMesas : Form
    {
        public FrmMesas()
        {
            InitializeComponent();
        }

        public int sistema = 0;

        private void FrmMesas_Load(object sender, EventArgs e)
        {
            CargarPisos();
            //al iniciar la primera carga
            CargarMesas(1);
        }

        private void CargarMesas(int codigoPiso)
        {
            List<Movimiento_Mesa> _listaMesas = new List<Movimiento_Mesa>();
            if (sistema == 1)
            {
                _listaMesas = new Movimiento_Mesa_Log().Data_Mesas_List(codigoPiso);
            }
            else
            {
                _listaMesas = new Movimiento_Mesa_Log().Data_Mesas_List_Caja(codigoPiso);
            }
           
            foreach (Movimiento_Mesa item in _listaMesas)
            {
                Button btnDynamicButton = new Button();
                btnDynamicButton.Name = item.coMesa.coMesa.ToString();
                btnDynamicButton.Text = item.coMesa.nuMesa;
                btnDynamicButton.ForeColor = Color.White;
                btnDynamicButton.BackgroundImage = Image.FromFile(Application.StartupPath + @"\" + item.coEstadoMesa.noImagen);
                btnDynamicButton.Size = new System.Drawing.Size(152, 76);
                btnDynamicButton.Click += new EventHandler(this.btnDynamicButton_Click);
                flowLayoutPanelMesas.Controls.Add(btnDynamicButton);
            }
        }

        private void CargarPisos()
        {
            List<Piso> _listaPiso = new List<Piso>();
            _listaPiso = new Piso_Log().Log_Piso_List();
            foreach (Piso item in _listaPiso)
            {
                Button btnDynamicButton = new Button();
                btnDynamicButton.Name = item.coPiso.ToString();
                btnDynamicButton.Text = item.noPiso;
                btnDynamicButton.BackColor = Color.White;
                btnDynamicButton.Size = new System.Drawing.Size(115, 76);
                btnDynamicButton.Click += new EventHandler(this.btnDynamicButtonPiso_Click);
                flowLayoutPanelPisos.Controls.Add(btnDynamicButton);
            }
        }

        protected void btnDynamicButton_Click(object sender, EventArgs e)
        {
            Button dynamicButton = (sender as Button);
            //this.Hide();
            if (sistema == 1)
            {
                Comanda.FrmComanda _Comanda = new Comanda.FrmComanda();
                _Comanda.coMesa = Convert.ToInt32(dynamicButton.Name.ToString());
                _Comanda._noMesa = dynamicButton.Text;
                _Comanda.ShowDialog(this);
            }
            else
            {
                Caja.FrmCaja _caja = new Caja.FrmCaja();
                _caja.coMesa = Convert.ToInt32(dynamicButton.Name.ToString());
                _caja._noMesa = dynamicButton.Text;
                _caja.ShowDialog(this);
            }
           
            this.Close();
        }

        protected void btnDynamicButtonPiso_Click(object sender, EventArgs e)
        {
            Button dynamicButton = (sender as Button);
            string codigoPiso = dynamicButton.Name;
            flowLayoutPanelMesas.Controls.Clear();
            CargarMesas(Convert.ToInt32(codigoPiso));
        }
    }
}
